﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Public;
using BUS;

namespace QuanLyKhoHangVatTu
{
    public partial class DoiMatKhau : DevExpress.XtraEditors.XtraForm
    {
        TaiKhoan_BUS tk_bus = new TaiKhoan_BUS();
        TaiKhoan_PB tk_pb = new TaiKhoan_PB();
        string matkhau = null;

        public DoiMatKhau()
        {
            InitializeComponent();
        }

        private void DoiMatKhau_Load(object sender, EventArgs e)
        {

        }
        private bool CheckValues(string value)
        {
            DataTable dt = tk_bus.LayMatKhau(value);
            if (dt.Rows.Count >= 1)
            {
                foreach (DataRow r in dt.Rows)
                {
                    matkhau = r["MATKHAU"].ToString();
                }
                matkhau = tk_pb.Decrypt(matkhau, true);
                return true;
            }
            return false;
        }
        private bool KiemtraMKvaXNMK()
        {
            if (txtMKMoi.Text.Length < 6)
            {
                txtMKMoi.ErrorText = "Phải nhập tối thiểu 6 ký tự";
                return false;
            }
            if (txtMKMoi.Text.Length > 50)
            {
                txtMKMoi.ErrorText = "Phải nhập tối đa 50 ký tự";
                return false;
            }
            if (txtMKMoi.Text != txtXNMK.Text)
            {
                txtXNMK.ErrorText = "Xác nhận mật khẩu không trùng khớp";
                return false;
            }
            return true;
        }

        private void btnDOngY_Click(object sender, EventArgs e)
        {
            if (CheckValues(TaiKhoan_PB.TenDangNhap))
            {
                if (txtMKCu.Text == matkhau)
                {
                    if (KiemtraMKvaXNMK())
                    {
                        TaiKhoan_PB.MatKhauMoi = tk_pb.Encrypt(txtMKMoi.Text, true);
                        tk_bus.ThayDoiMK(tk_pb);
                        XtraMessageBox.Show("Thay đổi mật khẩu thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                }
                else
                {
                    txtMKCu.ErrorText = "Mật khẩu cũ không đúng";
                }
            }
        }

        private void chkHienMK_CheckedChanged(object sender, EventArgs e)
        {
            if (chkHienMK.Checked == true)
            {
                txtMKCu.Properties.PasswordChar = (char)0;
                txtMKMoi.Properties.PasswordChar = (char)0;
                txtXNMK.Properties.PasswordChar = (char)0;

            }
            else
            {
                txtMKCu.Properties.PasswordChar = '●';
                txtMKMoi.Properties.PasswordChar = '●';
                txtXNMK.Properties.PasswordChar = '●';
            }
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}